The invention generally relates to the field of telecommunications, and particularly relates to the field of storage of information relative to entries or subscriptions in elements of a telecommunications system.
A telecommunications system generally stores and accesses information in the course of providing telecommunication services to subscribers. This information relating to a subscriber is referred to herein as an entry or as a subscription. Typically, a telecommunications system stores the entry or subscription relating to the subscriber in connection with a service or services that are provided through an advanced intelligent network (AIN). The entry or subscription is generally stored in storage like the memory of an AIN element such as an intelligent peripheral (IP) or a service circuit node (SCN), which is used to provide the service. In some intelligent peripherals, a designated area of storage is reserved for such entries or subscriptions, and is referred to herein as reserved storage.
With the popularity of AIN services, an intelligent peripheral may come to store a great number of entries or subscriptions. In fact, the storage or the reserved storage for such entries or subscriptions may fill to high levels or even to capacity with entries or subscriptions. In some cases, when the storage or reserved storage fills to high levels, it becomes difficult to re-initialize or re-construct the storage or reserved storage. The high levels in storage or reserved storage may lead to crashes during the re-initialization or re-construction procedures. Out-of-the-ordinary methods for re-initializing or re-constructing the storage or reserved storage must be undertaken. Thus, high levels of entries or subscriptions in storage or reserved storage are generally avoided.
When its storage or reserved storage is full of entries or subscriptions, the intelligent peripheral also may suffer the crashes described above. Once the storage or reserved storage reaches a high level or is filled to capacity, the intelligent peripheral generally cannot be used to serve additional subscribers. In sum, the storage capacity or reserved storage capacity of the intelligent peripheral may act as a limitation on the number of subscribers that may be served by the intelligent peripheral.
Efforts have been made to find a way to add subscribers to a service or services when the storage capacity or reserved storage capacity of the intelligent peripheral providing the service(s) rises to high levels or has been filled. Consideration has been given to the idea of adding one or more intelligent peripherals or other network elements for use in providing the service(s) to the additional subscribers. Generally, this idea has been discarded because the addition of another intelligent peripheral or other network element involves costs as yet unjustified by the profits to be gained from the additional subscribers. These costs can run into the millions of dollars.
Given the desire to add subscribers but to avoid adding an intelligent peripheral or other network element, efforts have been made to find a way to maximize the number of entries or subscriptions that may be stored in an intelligent peripheral. Consideration has been given to the idea of reconfiguring the use of the overall storage and memory facilities of the AIN. For example, load balancing could be implemented so as to move entries or subscriptions from a heavily loaded intelligent peripheral to a less loaded intelligent peripheral or other network element. As with the idea of adding an intelligent peripheral, this idea of load balancing has problems. Such load balancing requires a great deal of network operations carried out on a continuing basis. In other words, continual oversight of the loads of the various network elements and execution of operations is required to keep the loads balanced. The large scale of the operations and their continuing nature make this an expensive approach. In addition, load balancing would serve only as a stop-gap measure. As the number of subscribers increased, there would be fewer less loaded intelligent peripherals to which the heavier loaded intelligent peripherals could transfer some of their loads. Eventually, all of the intelligent peripherals would top out.
Thus, there exists a need for a method or system that maximizes the number of entries or subscriptions that may be stored in an intelligent peripheral. In particular, there exists a need for such a method or system that accomplishes such maximization without the addition of an AIN element such as an intelligent peripheral to the telecommunications system. Further, there exists a need for such a method or system that accomplishes such maximization without the necessity of large scale network operations carried out on a continual basis. In addition, there exists a need for such a method or system that accomplishes such maximization for the relatively long term rather than as a stop gap measure. Finally, there exists a need for such a method or system that accomplishes such maximization efficiently and economically so as to best serve the subscribers and the service provider of the telecommunications system.
The present invention includes embodiments that obtain capacity in the storage of an intelligent peripheral or other network element for additional entries or subscriptions without losing information relating to entries or subscriptions that have already been held in the storage. The exemplary embodiments obtain such capacity in storage by selecting certain entries or subscriptions from the storage, by sending the entry information (as opposed to the entries or subscriptions themselves) of these certain entries or subscriptions to a repository, and then by deleting the certain entries or subscriptions from the storage. The present invention also includes embodiments that retrieve the entry information that has been sent to the repository when such entry information is needed. In addition, the present invention includes embodiments that update as necessary the entry information that has been sent to the repository.
Advantageously, the exemplary embodiments of the present invention make use of the finding that storing uninitialized entries in memory units reserved in the storage of an intelligent peripheral results in a lot of empty spaces or empty memory in storage. Yet, the empty space in a memory unit cannot be used for other needs because the empty space generally is reserved for information that later may be added to the entry associated with the memory unit. The empty space may be filled when the entry""s status is changed from an uninitialized entry to an initialized entry when generally subscription information is added to the entry for storage and use in a subscriber""s telecommunications service.
The exemplary embodiments also make use of the finding that generally uninitialized entries are mere place holders in storage and are not used as uninitialized entries in the service of a subscriber. Yet, the entry information of initialized entries must remain available in case a subscriber decides to initialize his or her service. Based on these findings, the exemplary embodiments obtain capacity in storage by developing an uninitialized list including only uninitialized entries from the entries included in the storage of the intelligent peripheral. The entry information for each of the uninitialized entries in the uninitialized list is sent from the storage to the repository of the intelligent peripheral. It is advantageous that pursuant to the exemplary embodiments an uninitialized entry is not sent to the repository in the specific format in which it is typically stored in a memory unit reserved in the storage. Rather, the entry information of the uninitialized entry is sent to the repository. Such entry information may be held in a relatively small area of memory in a repository that is readily accessible. The uninitialized entries in the uninitialized list then are deleted from the storage. Thus, the repository can be used to effectively hold a lot of entry information pertaining to uninitialized entries in a smaller amount of space in comparison to the storage of uninitialized entries in a specified format in the storage of the intelligent peripheral. In other words, the repository need not have the capacity of the storage to effect the implementation of significant space savings in the storage of the intelligent peripheral.
With respect to the exemplary embodiments, the term xe2x80x9carchivingxe2x80x9d is used generally to refer to the development of an uninitialized list including only uninitialized entries from the entries included in the storage of the intelligent peripheral, the transmission of the entry information for each of the uninitialized entries in the uninitialized list from the storage to the repository of the intelligent peripheral, and the deletion of the uninitialized entries in the uninitialized list from the storage. To provide a shortcut to archiving, a list of candidates may be developed from the uninitialized entries in the storage. When a decision to archive is made, then the list of candidates may serve as the basis for the development of the uninitialized list. A candidate in the list of candidates has a corresponding uninitialized entry in the entries included in the storage of the intelligent peripheral. Each candidate may include an identifying characteristic with regard to the corresponding uninitialized entry of the candidate so that the identifying characteristic may be used to find the corresponding uninitialized entry in the development of the uninitialized list.
The list of uninitialized entries may be developed from the list of candidates or from the uninitialized entries in storage in a number of different ways. For example, the list of uninitialized entries may be developed so as to include uninitialized entries having a specific characteristic. The specific characteristic may be a date and/or time stamp that is earlier than a selected date and/or time. By using a date and/or time stamp as a specific characteristic, the uninitialized list may be developed so as to include only uninitialized entries that have been stored for a certain amount of time in storage. As another example, the list of uninitialized entries may be developed so as to include uninitialized entries having the earliest sequence numbers. Generally, an uninitialized entry having an early sequence number will have been held in storage longer than an uninitialized entry having a later sequence number.
The present invention provides embodiments that may be used to retrieve entry information that has been sent to the repository when such entry information is needed. Typically, such entry information is needed when an initialization request has been received with respect to an uninitialized entry. A determination is made as to whether the entry information of the uninitialized entry is held in the repository. If it is held in the repository, then the entry information is retrieved from the repository to the storage. The uninitialized entry may be initialized by adding initialization information to the entry information so as to create an initialized entry. The initialized entry then may be stored in the storage.
The present invention also provides embodiments that respond to the receipt of an update for an uninitialized entry where the entry information for that uninitialized entry has been sent to the repository. In response to receiving such an update, the update is stored in the storage. If an initialization request is received for uninitialized entry, then the update in storage is initialized so as to create an initialized entry, which is stored in storage. A decision may be made to archive the update, and in that case, the entry information of the update is included in an uninitialized list. The entry information of the update then is sent from the storage to the repository. The update is deleted from storage. With respect to the entry information of the update that is sent to the repository, a write-over of this entry information is effected with respect to the entry information of the uninitialized entry in the repository.
By these exemplary embodiments, the present invention maximizes the number of entries and subscriptions that may be stored in an intelligent peripheral. In particular, the exemplary embodiments accomplish such maximization without the addition of an AIN element such as an intelligent peripheral to the telecommunications system. Further, the exemplary embodiments accomplish such maximization without the necessity of large scale network operations carried out on a continual basis. In addition, the exemplary embodiments accomplish such maximization for the relatively long term rather than as a stop gap measure. Finally, the exemplary embodiments accomplish such maximization efficiently and economically so as to best serve the subscribers and the service providers of the telecommunications system.
These and other objects, features, and advantages of the present invention may be more clearly understood and appreciated from a review of the following detailed description of exemplary embodiments and by reference to the drawings and the claims.